package com.syqc.entity

import android.annotation.SuppressLint
import android.os.Parcelable
import kotlinx.parcelize.Parcelize

/**
 *@Author Jasper
 *@Time   2020/10/21
 *@Desc   费用相关
 */
@SuppressLint("ParcelCreator")
@Parcelize
open class BaseFee (
    val id: String = "",
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = ""
) : Parcelable

@Parcelize
data class AddOilFee(
    val entityList: MutableList<InfoEntity>
) : Parcelable {
    @Parcelize
    data class InfoEntity(
        val capacity: String = "",
        val mile: String = "",
        val oilType: String = "",
        val unitPrice: String = ""
    ) : BaseFee()
}

@Parcelize
data class RepairFee(
    val entityList: MutableList<InfoEntity>
) : Parcelable {
    @Parcelize
    data class InfoEntity(
        val manHourFee: String = "",
        val manageFee: String = "",
        val othreFee: String = "",
        val partsFee: String = "",
        val procFee: String = "",
        val person: String? = "",
        val driverName: String? = ""
    ) : BaseFee()
}

@Parcelize
data class InsureFee(
    val entityList: MutableList<InfoEntity>
) : Parcelable {
    @Parcelize
    data class InfoEntity(
        val endDate: String = "",
        val insureCode: String = "",
        val insuurCmp: String = "",
        val jqxFee: String = "",
        val startDate: String = "",
        val syxFee: String = ""
    ) : BaseFee()
}

@Parcelize
data class TrafficFee(
    val entityList: MutableList<InfoEntity>
) : Parcelable {
    @Parcelize
    data class InfoEntity(
        val bridgeFee: String = "",
        val highRoadFee: String = "",
        val otherFee: String = "",
        val stopCarFee: String = "",
        val washCarFee: String = ""
    ) : BaseFee()
}

@Parcelize
data class OtherFee(
    val entityList: MutableList<BaseFee>
) : Parcelable

@Parcelize
data class YearVrfFee(
    val entityList: MutableList<BaseFee>
) : Parcelable


data class OtherInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = ""
)

data class YearVrfInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = ""
)

data class TrafficInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = "",
    val bridgeFee: String = "",
    val highRoadFee: String = "",
    val otherFee: String = "",
    val stopCarFee: String = "",
    val washCarFee: String = ""
)

data class InsureInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = "",
    val endDate: String = "",
    val insureCode: String = "",
    val insuurCmp: String = "",
    val jqxFee: String = "",
    val startDate: String = "",
    val syxFee: String = ""
)

data class RepairInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = "",
    val manHourFee: String = "",
    val manageFee: String = "",
    val othreFee: String = "",
    val partsFee: String = "",
    val procFee: String = "",
    val img1: String = "",
    val img2: String = "",
    val img3: String = "",
    val person: String = "",
    val driverName: String = ""

)

data class AddOilInfoFee(
    val carId: String = "",
    val feeDate: String = "",
    val remark: String = "",
    val totalFee: String = "",
    val capacity: String = "",
    val mile: String = "",
    val oilType: String = "",
    val unitPrice: String = "",
    val oilCardNo: String = "",
    val exts: String? = ""
)

/**
 * Exts加油扩展字段
 *
 * @property operator   经办人
 * @constructor Create empty Exts
 */
data class Exts(val operator: String? = "")

data class DriverVrfInfoFee(
    val driverName: String = "",
    val driverType: String = "",
    val driverLicense: String = "",
    val idCard: String = "",
    val auditUnit: String = "",
    val feeDate: String = "",
    val licenseDate: String = "",
    val totalFee: String = "",
    val remark: String = ""
)



